#ifndef __UART_H
#define __UART_H


#include "stm32f10x.h"                  // Device header
#include <stdio.h>

// 使用串口打印
#define USE_PRINTF 1    
#define USE_PRINTF_UART1  1 // 使用串口1打印
#define USE_PRINTF_UART2  0 // 使用串口2打印

// 定义是否使用esp8266的中断接收
#define USE_ESP8266 1
/*******************************************************/
#if USE_ESP8266  // 申明esp8266使用的数据接收标志和缓冲区
#include <stdlib.h>
#include <string.h>
#if USE_PRINTF_UART1
    #define uart1_print_msg  // 使用uart1打印调试信息
#endif
extern uint8_t ESP_RxData[]; // 接收缓冲区
extern volatile uint8_t ESP_RxFlag;  // 接收完成标志
#endif
/******************************************************/

#define UART1        USART1
#define UART1_Port   GPIOA
#define TX1_Pin      GPIO_Pin_9  // 串口1发送引脚
#define RX1_Pin      GPIO_Pin_10 // 串口1接收引脚

#define UART2       USART2
#define UART2_Port  GPIOA
#define TX2_Pin     GPIO_Pin_2   // 串口2发送引脚
#define RX2_Pin     GPIO_Pin_3   // 串口2接收引脚
extern uint8_t UART2_RxFlag; // 接收中断标志位
extern uint8_t UART2_RxData; // 接收到的数据


void UART1_Init(uint32_t Baud);
void Uart1_SendByte(uint8_t Byte);

void UART2_Init(uint32_t Baud);
void Uart2_SendByte(uint8_t Byte);

#endif
